package com.yc.project1_matrix.row;

import com.yc.project1_matrix.MatrixGenerater;

public class test3_ParallerRowMultiplier {
    public static void main(String[] args) {
        //生成2个矩阵
        double  matrix1[][] = MatrixGenerater.generate(2000,2000);
        double  matrix2[][] =MatrixGenerater.generate(2000,2000);//4 000 000线程
        //结果矩阵
        double result[][]= new double [matrix1.length][matrix2[0].length];
        long start = System.currentTimeMillis();

        //SeriaMultiplier.multiply(matrix1,matrix2, result);//单线程计算矩阵 ////计算串行矩阵乘法时间33271
        //ParalleIndividualMultiplier.multiply(matrix1,matrix2,result);//上下文切换次数特别多  //结果矩阵中每个元素一个线程的版本：细粒度多线程版
        ParallerRowMultiplier.multiply(matrix1, matrix2, result);//6759
        long end =System.currentTimeMillis();
        System.out.println("细粒度版___按结果矩阵行生成任务的版本:计算矩阵乘法的时间:\n"+(end-start));//6759
    }
}
